#include<iostream>
#include<algorithm>
using namespace std;
int n,m,k,w[1000000];
bool cl(int mid){
	int a[k]={0},o=0,omg=0; 
	for(int i=0;i<n;i++){
		a[w[i]]=-1;
	}
	for(int i=0;i<m;i++){
		omg=0;
	//	cout<<o<<" ";
		if(a[o+mid]!=-1){
			for(int g=o+mid;g<k;++g){
				if(a[g]==-1){
					o=g;
					omg=1;
					break;
				}
			}
			if(omg==0){
				return false;
			}
		}
		else{
			o+=mid;
		}
	}
	cout<<"\n";
	return true;
}
int main(){
	cin>>n>>m;
	for(int i=0;i<n;i++){
		cin>>w[i];
	}
	sort(w,w+n);
	k=w[n-1];
	int a[w[n-1]],mid=0;
	int l=w[1]-w[0];
	int r=w[n-1],ans=l;
	while(l<=r){
		mid=(l+r)/2;
		cout<<mid<<" ";
		if(cl(mid)){
			ans=mid;
			l=mid+1;
		}
		else{
			r=mid-1;
		}
	}
	cout<<ans;
}
